package model

import (
	"time"
)

type ProductCoverImg struct {
	ProductCoverImg string `json:"product_cover_img"`
	ProductId       int    `json:"-"`
}

type Connection struct {
	Wechat    string `json:"wechat"`
	QQ        string `json:"qq"`
	Telephone string `json:"tel"`
}

type ProductDetail struct {
	ID           int        `gorm:"primary_key" json:"-"`
	CreatedAt    time.Time  `gorm:"autoCreateTime" json:"-"`
	UpdatedAt    time.Time  `gorm:"autoUpdateTime" json:"-"`
	ExpiratedAt  time.Time  `json:"-"`            //到期时间
	Timestamp    int64      `json:"updated_time"` //时间戳，存储updatetime
	AliveTime    int64      `json:"alive_time"`   //存活时长，用时间戳int表示
	SellStatus   int        `gorm:"type:int;not null" json:"sell_status"`
	ProductIntro string     `gorm:"type:varchar(500);not null" json:"product_intro"`
	Connection   Connection `gorm:"embedded" json:"connection"`
}

type Product struct {
	//基础信息
	ProductId    int     `gorm:"primary_key" json:"product_id"`           //商品id
	ProductName  string  `gorm:"type:varchar(50)" json:"product_name"`    //产品名
	ProductPrice float32 `gorm:"type:decimal(10,2)" json:"product_price"` //价格
	SellerId     uint    `gorm:"type:int" json:"seller_id"`               //销售人Id
	ProductZone  string  `gorm:"type:varchar(20)" json:"product_zone"`    //分类

	//产品图片
	ProductCoverImg []ProductCoverImg `gorm:"foreignKey:ProductId" json:"product_cover_imgs"`

	//详情
	Detail ProductDetail `gorm:"foreignKey:ProductId" json:"detail"`
}
